1. Field of the Invention
The invention relates a drawing processing apparatus, a texture processing apparatus, and a tessellation method for processing drawing data.
2. Description of the Related Art
When generating three-dimensional models of drawing objects, free-form surfaces are often used so as to render more complicated shapes. Among the techniques for rendering free-form surfaces, NURBS (Non-Uniform Rational B-Spline) curves or NURBS surfaces are in widespread use since they have the advantage that smooth curves or surfaces can be rendered with a smaller number of control points. Aside from control points, NURBS has a lot of shape-operating parameters such as weights and knots, which allow local modifications in shape. NURBS also has excellent rendering capabilities such that arcs, straight lines, and conic sections including parabolas can be expressed systematically. In three-dimensional computer graphics, technologies for rendering drawing models created in NURBS data are being sought after.
Objects smoothly rendered in the form of NURBS, Bezier, or other parametric surfaces are represented by parameters such as control points. This allows a reduction in the amount of data as compared to polygonal models in which three-dimensional objects are expressed as sets of polygons such as triangles. In some applications including network games, three-dimensional model information is transmitted over networks. The object representation using free-form surfaces is suited even to such network applications because of the smaller amount of data.
When drawing three-dimensional models rendered in free-form surfaces, the free-form surfaces are divided into polygons, and rendering algorithms are applied thereto for the sake of drawing processing. To divide a free-form surface into polygons, the values of parameters in the equation of the NURBS- or otherwise-defined parametric surface are changed at predetermined pitches, whereby vertexes on the parametric surface are determined directly. These points are then connected to generate the polygons. As a result, the parametric surface is subdivided into a lot of polygons with a predetermined number of divisions. This processing is called tessellation processing.
In the tessellation processing, determining the coordinate values of the vertexes on a parametric surface requires that computing be repeated on the control points that define the shape of the parametric surface. This tessellation processing, when implemented by software, consumes a considerable computing time due to the large amount of calculation. The tessellation processing is thus not suited to three-dimensional computer graphic applications that need to display the result of drawing in real time. The tessellation processing is also difficult to implement by hardware since high memory capacities are required in order to store the data necessary for the tessellation processing and intermediate calculation results.
Attempts have thus been made to reduce the amount of computation and the amount of memory by limiting the degree of freedom of the surface, by such means as decreasing the number of divisions in the tessellation processing with a reduction in the amount of computation, reducing the number of control points, and using simpler curve equations. In consequence, however, the objects to be drawn are rendered in coarse polygons, which has produced the problem that CG images of sufficient quality cannot be generated.